package com.cq.hd.member.po;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 网银支付记录表
 * </p>
 *
 * @author mYunYu
 * @since 2024-02-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_bank_pay_record")
@ApiModel(value="TbBankPayRecordPo对象", description="网银支付记录表")
public class TbBankPayRecordPo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "商家id")
    @TableField("business_id")
    private Long businessId;

    @ApiModelProperty(value = "用户id")
    @TableField("user_id")
    private Long userId;

    @ApiModelProperty(value = "订单编号")
    @TableField("order_no")
    private String orderNo;

    @ApiModelProperty(value = "交易类型（1-充值补贴金，2-开通会员，3-购买次卡）")
    @TableField("trade_type")
    private Integer tradeType;

    @ApiModelProperty(value = "关联订单号(如果充值补贴金，则是补贴金流水订单号，如果是开通会员，则是会员套餐开通流水订单号，如果是购买次卡，则是次卡下单流水订单号)")
    @TableField("relation_trade_no")
    private String relationTradeNo;

    @ApiModelProperty(value = "hf商户号")
    @TableField("hf_id")
    private String hfId;

    @TableField("hf_acct_id")
    private String hfAcctId;

    @ApiModelProperty(value = "请求流水号")
    @TableField("req_seq_id")
    private String reqSeqId;

    @ApiModelProperty(value = "请求日期")
    @TableField("req_date")
    private String reqDate;

    @ApiModelProperty(value = "hf全局流水号")
    @TableField("hf_seq_id")
    private String hfSeqId;

    @ApiModelProperty(value = "订单失效时间")
    @TableField("time_expire")
    private String timeExpire;

    @ApiModelProperty(value = "请求ip")
    @TableField("request_ip")
    private String requestIp;

    @ApiModelProperty(value = "交易金额")
    @TableField("trade_amt")
    private BigDecimal tradeAmt;

    @ApiModelProperty(value = "网银手续费")
    @TableField("fee_amt")
    private BigDecimal feeAmt;

    @ApiModelProperty(value = "到账金额")
    @TableField("receive_amt")
    private BigDecimal receiveAmt;

    @ApiModelProperty(value = "交易状态(1-待支付，2-处理中，3-成功，4-失败)")
    @TableField("trade_state")
    private Integer tradeState;

    @ApiModelProperty(value = "财务状态(1-待支付，2-处理中，3-成功，4-失败)")
    @TableField("acct_state")
    private Integer acctState;

    @ApiModelProperty(value = "交易时间")
    @TableField("trade_time")
    private LocalDateTime tradeTime;

    @ApiModelProperty(value = "回调时间")
    @TableField("callback_time")
    private LocalDateTime callbackTime;

    @ApiModelProperty(value = "失败原因")
    @TableField("fail_reason")
    private String failReason;

    @ApiModelProperty(value = "hf返回失败数据")
    @TableField("hf_fail_reason")
    private String hfFailReason;

    @ApiModelProperty(value = "付款方银行号")
    @TableField("bank_id")
    private String bankId;

    @ApiModelProperty(value = "付款方银行账户")
    @TableField("pyer_acct_id")
    private String pyerAcctId;

    @ApiModelProperty(value = "付款方银行账户名")
    @TableField("pyer_acct_nm")
    private String pyerAcctNm;

    @ApiModelProperty(value = "创建者")
    @TableField("create_by")
    private Integer createBy;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新者")
    @TableField("update_by")
    private Integer updateBy;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "备注")
    @TableField("remark")
    private String remark;

    @ApiModelProperty(value = "删除状态:0-正常，1-已删除")
    @TableField("del_state")
    private Integer delState;


}
